Spark Streaming实时流处理日志项目
May 18, 2018
开发环境
IDEA+maven+JDK+linux
系统架构
hadoop+zookeeper+flume+ kafka+ spark+hbase
需求描述
实时(到现在为止)的日志访问统计操作
项目描述
项目数据来源的日志为Python脚本产生的,通过crontab定时执行Python脚本模仿服务器日志的产生, 日志包括ip、time、url、status、referer。然后使用flume采集产生的日志数据 并sink到Kafka消息队列中,然后将日志信息传给Spark Streaming进行实时数据处理。 最后将计算结果写入到Hbase上。
项目步骤
- 通过Python脚本模仿日志的产生;
- Flume的选型,在本例中设为exec-memory-kafka;
- 打开kafka一个消费者,再启动flume读取日志生成器中的log文件,可看到 kafka中成功读取到日志产生器的实时数据 ;
- 让Kafka接收到的数据传输到Spark Streaming当中,这样就可以在Spark对 实时接收到的数据进行操作了 ;
- Spark中对实时数据的操作分为数据清洗过程、统计功能实现过程两个步骤。 其中统计功能的实现基本上和Spark SQL中的操作一致,体现了Spark的代码复 用性,即能通用于多个框架中 ;
- 计算结果写入到Hbase。